package com.wgy.day36常见的函数式接口.Consumer接口;

import java.util.function.Consumer;

/**
 * Created by pc on 2020/12/10 21:16
 * Description: LearningJava
 */
/*
java.util.function.Consumer<T>:与Supplier接口刚好相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定,被称为消费型接口
Consumer<T>接口中包含的抽象方法:
       void accept(T t):消费一个指定泛型的数据
Consumer<T>接口是一个消费型接口,泛型指定什么类型,就可以使用accept方法消费什么类型的数据
        至于怎么消费(使用),需要自定义 (打印输出,计算....)
*/
public class Demo01Consumer {
    /*定义一个方法,方法的参数传递一个字符串的姓名
    方法的参数传递Consumer接口,泛型指定使用String
    可以使用Consumer接口消费字符串的姓名
    */
    public static void method(String name, Consumer<String> con){
        con.accept(name);
    }

    public static void main(String[] args) {
        //调用method方法,一个参数传递字符串姓名,另一个参数Consumer<String>,是一个函数式接口,可以使用Lambda表达式
        method("赵丽颖",(String name)->{
            System.out.println(name);
        });

        method("赵丽颖",(String name)->{
            String rename = new StringBuffer(name).reverse().toString();
            System.out.println(rename);
        });

    }



}
